package com.dkg.day16.dao;

import com.dkg.day16.entity.StuInfo;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.Reader;
import java.util.HashMap;
import java.util.Map;

public class TestMain {
    public static void main(String[] args) {
        //1.读取配置文件
        try {
            Reader reader = Resources.getResourceAsReader("Configuration.xml");
            //2.创建工厂
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
            //3.创建连接
            SqlSession session = sessionFactory.openSession();
            //4.执行语句
//            int count = session.selectOne("com.dkg.day16.dao.StuInfoDAO.findCount");
//            System.out.println(count);

//            //map作为参数
//            Map<String, Object> map = new HashMap<String, Object>();
//            map.put("a", "张三");
//            int count =  session.insert("com.dkg.day16.dao.StuInfoDAO.save",map);
//            System.out.println(count);

            //多个参数
//            Map<String,Object> map = new HashMap<String, Object>();
//            map.put("stu_number","赵六");
//            map.put("stu_age",20);

//            //对象作为参数
            StuInfo stuInfo = new StuInfo();
            stuInfo.setStuAge(21);
            stuInfo.setStuNumber("sdhf");
            int count = session.insert("com.dkg.day16.dao.StuInfoDAO.save", stuInfo);
            System.out.println(count);

//            //根据id查询
//            StuInfo stuInfo = session.selectOne("com.dkg.day16.dao.StuInfoDAO.findById","19");
//            System.out.println(stuInfo);

            //修改
//            StuInfo stuInfo = new StuInfo();
//            stuInfo.setStu_name("赵六");
//            stuInfo.setStu_id(3);
//            int count = session.update("com.dkg.day16.dao.StuInfoDAO.update",stuInfo);

           // 删除
//            StuInfo stuInfo = new StuInfo();
//            stuInfo.setStu_id(10);
//            int count = session.delete("com.dkg.day16.dao.StuInfoDAO.delete",stuInfo);
//            int count = session.delete("com.dkg.day16.dao.StuInfoDAO.delete",10);
//            System.out.println(count);

            //查询所有
//            List<StuInfo> list =  session.selectList("com.dkg.day16.dao.StuInfoDAO.findAll");
//            for (StuInfo stuInfo : list){
//                System.out.println(stuInfo);
//            }
//            System.out.println(list);

            //调用接口
//            StuInfoDAO stuInfoDAO =  session.getMapper(StuInfoDAO.class);
//            StuInfo stuInfo =  stuInfoDAO.findById(19);
//            System.out.println(stuInfo);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}
